package com.liwujie.core.controller;


import com.liwujie.core.bean.ResultBean;

public class BaseController {

    /**
     * 请求成功
     *
     * @param msg 成功的消息描述
     * @return
     */
    protected ResultBean success(String msg) {
        return handler(ApiCode.SUCCESS, msg, null);
    }

    /**
     * 请求成功
     *
     * @param msg  成功的消息描述
     * @param data 接口要返回的数据
     * @return
     */
    protected ResultBean success(String msg, Object data) {
        return handler(ApiCode.SUCCESS, msg, data);
    }


    protected ResultBean saveResult(int rs) {
        return rs == 1 ? success("保存成功") : fail("保存失败");
    }

    protected ResultBean saveResult(Boolean rs, Object data) {
        return rs ? success("保存成功", data) : fail("保存失败", data);
    }

    protected ResultBean updateResult(int rs) {
        return rs == 1 ? success("修改成功") : fail("修改失败");
    }

    protected ResultBean deleteResult(int rs) {
        return rs == 1 ? success("删除成功") : fail("删除失败");
    }

    /**
     * 接口请求失败
     *
     * @param msg 失败的消息描述
     * @return
     */
    protected ResultBean fail(String msg) {
        return handler(ApiCode.FAIL, msg, null);
    }

    /**
     * 失败
     *
     * @param msg  消息描述
     * @param data 失败的详细数据
     * @return
     */
    protected ResultBean fail(String msg, Object data) {
        return handler(ApiCode.FAIL, msg, data);
    }


    ResultBean handler(int code, String msg, Object data) {
        return new ResultBean(code, msg, data);
    }

    public ResultBean fail(String msg, String data) {
        return new ResultBean(ApiCode.FAIL, msg, null);
    }

}
